package hotel.switchs.oversea.online.service;

import hotel.base.oversea.service.BaseService;
import hotel.base.oversea.utils.Result;
import hotel.switchs.oversea.api.VO.request.CreateBasicRoomVo;
import hotel.switchs.oversea.api.entity.SwitchCreateBasicRoomEntity;

/**
 * @Author lmf
 * @Date 2020/6/8 14:13
 **/
public interface SwitchCreateBasicRoomService extends BaseService<SwitchCreateBasicRoomEntity> {
    /**
     * 创建子物理房型
     */
    Result<Object> createBasicRoom(CreateBasicRoomVo createBasicRoomVo);

    /**
     * 获取子物理房型信息
     * hotelId 子酒店id
     * basicRoomId 子物理房型id
     */
    SwitchCreateBasicRoomEntity getCreateBasicRoom(int hotelId, int basicRoomId);

    /**
     * <H1>获取子酒店ID和子物理房型ID，定时器调用</H1>
     *
     * @param
     * @return hotel.base.oversea.utils.Result<java.lang.Object>
     * @author HuangT
     * @date 2020/7/14 14:50
     */
    Result<Object> getBasicRoomInfoForJob();

    /**
     * <H1>更新售卖状态</H1>
     *
     * @param createState
     * @return hotel.base.oversea.utils.Result<java.lang.Object>
     * @author HuangT
     * @date 2020/7/14 15:51
     */
    Result<Object> updateBasicRoomInfoForJob(CreateBasicRoomVo createState);

    /**
     * 根据子酒点id+母物理房型id 获取创建子物理房型的信息
     * @param switchHotelId
     * @param switchHotelRoomId
     * @return
     */
    Integer updateByHotelIdAndMasterBasicRoomId(Integer switchHotelId, String switchHotelRoomId);

    /**
     * 修改物理房型的创建状态
     * @param basicRoomTypeId
     * @return
     */
    Integer updateCreateStateByBasicRoomId(Integer basicRoomTypeId);
    /***
    * @Author: lmf
    * @Date: 2020/12/22
     * 随机更新
    */
    void updateCreateStateBasicRoomByToday();
}
